package com.hyt.it.ogt.kq.service.model.entity.admission;

import com.baomidou.mybatisplus.annotation.TableName;
import com.hyt.core.annotation.TemplateMapper;
import com.hyt.core.base.BaseEntity;
import com.hyt.it.ogt.kq.common.gov.constant.admission.AdmissionTicketTemplateCode;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import lombok.experimental.Accessors;

import java.time.LocalDateTime;

/**
 * <p>
 * 准考证考生批次表
 * </p>
 *
 * @author yanghuankun@talkweb.com.cn
 * @since 2023-02-06
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName("at_examinee_times")
@ApiModel(value = "ExamineeTimes对象", description = "准考证考生批次表")
public class ExamineeTimes extends BaseEntity {

    @ApiModelProperty(value = "考生ID")
    private String examineeId;

    @ApiModelProperty(value = "准考infoID")
    private String admissionTicketInfoId;

    @TemplateMapper(templateCode = AdmissionTicketTemplateCode.ADMISSION_NO)
    @ApiModelProperty(value = "准考证编号")
    private String admissionSerialNumber;

    @TemplateMapper(templateCode = AdmissionTicketTemplateCode.TIME_NO)
    @ApiModelProperty(value = "准考证批次ID")
    private String timeId;

    @TemplateMapper(templateCode = AdmissionTicketTemplateCode.TIME_NAME)
    @ApiModelProperty(value = "准考证批次名称")
    private String timeName;

    @TemplateMapper(templateCode = {AdmissionTicketTemplateCode.EXAM_START, AdmissionTicketTemplateCode.TIME_START})
    @ApiModelProperty(value = "批次开始时间")
    private LocalDateTime examStartTime;

    @TemplateMapper(templateCode = {AdmissionTicketTemplateCode.EXAM_END, AdmissionTicketTemplateCode.TIME_END})
    @ApiModelProperty(value = "批次结束时间")
    private LocalDateTime examEndTime;

    @TemplateMapper(templateCode = AdmissionTicketTemplateCode.EXAM_TIME)
    @ApiModelProperty(value = "考试时间")
    private String examTime;

    @ApiModelProperty(value = "生成日期")
    private LocalDateTime generateData;

    @ApiModelProperty(value = "生成状态")
    private Boolean generateStatus;

    @ApiModelProperty(value = "准考证图片存放地址")
    private String admissionTicketImgUrl;

    @ApiModelProperty(value = "准考证pdf存放地址")
    private String admissionTicketPdfUrl;

    @TemplateMapper(templateCode = AdmissionTicketTemplateCode.PLACE_ADDRESS)
    @ApiModelProperty(value = "考点地址")
    private String placeAddress;

    @TemplateMapper(templateCode = AdmissionTicketTemplateCode.PLACE_NAME)
    @ApiModelProperty(value = "考点名称")
    private String placeName;

    @TemplateMapper(templateCode = AdmissionTicketTemplateCode.ROOM_ADDRESS)
    @ApiModelProperty(value = "考场地址")
    private String roomAddress;

    @TemplateMapper(templateCode = AdmissionTicketTemplateCode.ROOM_NAME)
    @ApiModelProperty(value = "考场名称")
    private String roomName;

    @TemplateMapper(templateCode = AdmissionTicketTemplateCode.EXAM_SEAT)
    @ApiModelProperty(value = "座位号")
    private String seatNum;

    @TemplateMapper(templateCode = AdmissionTicketTemplateCode.EXAM_ID)
    @ApiModelProperty(value = "考试id")
    private Integer examId;

    @TemplateMapper(templateCode = AdmissionTicketTemplateCode.SUBJECT_NAME)
    @ApiModelProperty(value = "科目名称")
    private String subjectName;
}
